package com.nowcoder.community.dao;

import com.nowcoder.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
public interface DiscussPostMapper {
    /**
     * 分页查询所有帖子
     * @author ProgramCat
     * @param userId 帖子的用户id（等于0不使用）
     * @param offset 起始行行号
     * @param limit 每页数量
     * @return List<DiscussPost> 帖子集合
     */
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit);

    /**
     * 查询表中一共有多少条数据
     * @author ProgramCat
     * @param userId 用户id （等于0不使用）
     * @return int
     */
    // @Param注解用于给参数取别名,
    // 如果只有一个参数,并且在<if>里使用,则必须加别名.
    int selectDiscussPostRows(@Param("userId") int userId);


    /**
     * 增加帖子
     * @author ProgramCat
     * @param post 帖子实体
     * @return int
     */
    int insertDiscussPost(DiscussPost post);

    /**
     *根据帖子id 查询单个帖子内容
     * @author ProgramCat
     * @param id 帖子id
     * @return DiscussPost
     */
    DiscussPost selectDiscussPostById(int id);
    /**
     * 根据帖子id 修改 帖子内容
     * @author ProgramCat
     * @param id 帖子id
     * @param commentCount 帖子内容
     * @return int
     */
    int updateCommentCount(int id,int commentCount);
}
